/**
 * Created by fly on 2017/1/16.
 */

$(function () {
    initTable();
    $('#search,#refleshList').click(function(){
        $('#table').bootstrapTable('refresh', {url: ctx + '/project/query'});
    });
/*    $("#addnew").click(function () {
        window.location.href = "edit.html?act=add";
    });*/
    $("#delect").click(function () {
        var selRow = $('#table').bootstrapTable('getSelections');
        if (selRow.length==0) {
            alert('没有选中记录');
        }else {
            if (confirm("确定删除？")) {
                var selId = selRow.map(function (item) {
                    return item.projectId
                })
                $.ajax({
                    type: "POST",
                    url: ctx + "/project/delete",
                    //traditional:true,
                    data: {
                        projectIds: selId
                    },
                    success: function (data) {
                        if(data.code==200){
                            $('#table').bootstrapTable('refresh', {url: ctx + '/project/query'});
                        }else{
                            alert(data.msg);
                        }

                    }
                })
            }
        }
    });

    showButton([{bId:"addnew",url:"/project/add"},{bId:"delect",url:"/project/delete"}]);


});

function  initTable() {
    $('#table').bootstrapTable({
        height: top.frameHeight*0.7 ,
        url: ctx + '/project/query', //这个接口需要处理bootstrap table传递的固定参数
        method:'post',
        dataType: "json",
        cache: false,   //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
        contentType:"application/x-www-form-urlencoded; charset=UTF-8",   //post请求,content type默认设置为 text/plain,在服务端直接通过 @RequestParam参数映射是获取不到的。
        striped: true,      //是否显示行间隔色
        pagination: true,     //是否显示分页（*）
        sortable: false,      //是否启用排序
        sortOrder: "asc",     //排序方式
        pageNumber:1,      //初始化加载第一页，默认第一页
        pageSize: 10,      //每页的记录行数（*）
        pageList: [10, 25, 50, 100, 'All' ],  //可供选择的每页的行数（*）
        queryParamsType:'',  //默认值为 'limit' ,在默认情况下 传给服务端的参数为：offset,limit,sort
        //设置为 ''  在这种情况下传给服务器的参数为：pageSize,pageNumber
        queryParams : queryParams,    //前端调用服务时，会默认传递上边提到的参数，如果需要添加自定义参数，可以自定义一个函数返回请求参数
        sidePagination: "server",   //分页方式：client客户端分页，server服务端分页（*）
        responseHandler:function(res){
            //远程数据加载之前,处理程序响应数据格式,对象包含的参数: 我们可以对返回的数据格式进行处理
            //在ajax后我们可以在这里进行一些事件的处理
            return res.data;
        },
        strictSearch: true,
        clickToSelect: true,    //是否启用点击选中行
        searchOnEnterKey: true,
        columns: [{
            checkbox: true
        },{
            title: '序号',  //标题  可不加
            align: 'center',
            width: 50,
            formatter: function (value, row, index) {
                var pageNumber = $('#table').bootstrapTable('getOptions').pageNumber;
                var pageSize = $('#table').bootstrapTable('getOptions').pageSize == 'All' ? 0 : $('#table').bootstrapTable('getOptions').pageSize;
                return (pageNumber-1) * pageSize+index+1;
            }
        },{
            field: 'projectId',
            title: 'id',
            visible: false
        }, {
            field: 'establishDate',
            align:'center',
            title: '立项日期',
            width: 100,
            formatter:function (value) {
                var unix = Number(value)
                return $.myTime.UnixToDate(unix)
            }
        },{
            field: 'projectCode',
            align:'center',
            width: 100,
            title: '项目编号'
        }, {
            field: 'projectName',
            align:'center',
            width: 300,
            title: '项目名称'
        },{
            field: 'projectTypeName',
            align:'center',
            width: 100,
            title: '项目类型'
        },{
            field: 'projectStatusName',
            align:'center',
            width: 100,
            title: '项目状态'
        }, {
            field: 'projectManagerName',
            align:'center',
            width: 100,
            title: '项目经理'
        }, {
            field: 'salerName',
            align:'center',
            width: 100,
            title: '销售负责人'
        },{
            field: 'totalContractAmount',
            align:'right',
            width: 100,
            title: '合同总金额',
            formatter: function (value, row, index) {
                //格式化金额
                return formatMoney(value);
            }
        }, {
            field: 'totalNonTaxAmount',
            align:'right',
            width: 100,
            title: '不含税合同总金额',
            formatter: function (value, row, index) {
                //格式化金额
                return formatMoney(value);
            }
        },{
            field: 'paymentAmount',
            align:'right',
            width: 100,
            title: '已收款',
            formatter: function (value, row, index) {
                //格式化金额
                return formatMoney(value);
            }
        },{
            field: 'unpaymentAmount',
            align:'right',
            width: 100,
            title: '未收款',
            formatter: function (value, row, index) {
                //格式化金额
                return formatMoney(value);
            }
        },{
            field: 'expectedFinalDate',
            align: 'center',
            width: 100,
            title: '预计终验日期',
            formatter: function (value, row, index) {
                return $.myTime.UnixToDate(Number(value));
            }
        },{
            field: 'price',
            align:'center',
            width: 200,
            title: '操作',
            formatter: function (value, row, index) {
                var show = '<a class="page-action" href="#" role="button" data-href="ProjectInfo/edit.html?act=show&id='+row.projectId+'&parentPageId='+top.topManager.getPageId()+'" title="'+ row.projectCode+'项目详情" data-id="ProjectInfo/show'+ row.projectCode+'">查看详情</a>&nbsp;&nbsp;';
                //根据角色权限判断是否要显示
                var roleFuncCode = JSON.parse(sessionStorage.getItem("roleFuncCode"));

                if($.inArray("/project/update",roleFuncCode)>=0)
                    show += '<a class="page-action" href="#" role="button" data-href="ProjectInfo/edit.html?act=edit&id='+row.projectId+'&parentPageId='+top.topManager.getPageId()+'" title="'+ row.projectCode+'编辑项目" data-id="ProjectInfo/edit'+ row.projectCode+'">编辑</a>&nbsp;&nbsp;';

                if($.inArray("/project/plan",roleFuncCode)>=0)
                    show += '<a class="page-action" href="#" role="button" data-href="ProjectInfo/paymentPlan.html?projectName='+row.projectName+'&id='+row.projectId+'&parentPageId='+top.topManager.getPageId()+'" title="'+ row.projectCode+'收款计划" data-id="ProjectInfo/plan'+ row.projectCode+'">收款计划</a>&nbsp;&nbsp;';

                if($.inArray("/projectInfo/procurementEstimate",roleFuncCode)>=0||$.inArray("/projectInfo/costEstimate",roleFuncCode)>=0||$.inArray("/projectInfo/directEstimate",roleFuncCode)>=0)
                    show += '<a class="page-action" href="#" role="button" data-href="ProjectInfo/estimate.html?projectName='+row.projectName+'&id='+row.projectId+'&parentPageId='+top.topManager.getPageId()+'" title="'+ row.projectCode+'成本估算" data-id="ProjectInfo/estimate'+ row.projectCode+'">成本估算</a>&nbsp;&nbsp;';


                return show;
            }
        }]
    });

}

function queryParams(params){
    var loginCode = window.sessionStorage.getItem("managerUser");
    return {
        pageNumber : params.pageNumber,
        pageSize : params.pageSize,
        startTime : $("#startDate").val(),
        endTime : $("#endDate").val(),
        projectCode : $("#project_code").val(),
        projectName : $("#project_name").val(),
        projectStatus : $("#project_status").val(),
        projectManagerName : $("#project_manager_name").val(),
        salerName : $("#saler_name").val(),
        loginCode:loginCode
    }
}